#pragma once
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>

typedef int LTDataType;

typedef struct ListNode
{
	struct ListNode* pre;
	struct ListNode* next;
	LTDataType data;
}LTNode;

LTNode* InitLTNode();

LTNode* BuyLTNode(LTDataType x);

void InsertLTNode(LTNode* pos, LTDataType x);

void LTNodePushFront(LTNode* head, LTDataType x);

void LTNodePushBack(LTNode* head, LTDataType x);

void PrintLTNode(LTNode* head);

LTNode* LTNodeFind(LTNode* head, LTDataType x);

void LTNodeErase(LTNode* pos);

void LTNodePopFront(LTNode* head);

void LTNodePopBack(LTNode* head);

void DestroyLTNode(LTNode* head);